home *** CD-ROM | disk | FTP | other *** search
/ Experimental BBS Explossion 3 / Experimental BBS Explossion III.iso / gus / vts139b.zip / DEVSB.INC < prev    next >
Text File  |  1993-05-11  |  2KB  |  105 lines

  1.  
  2.                 DATASEG
  3.  
  4. EXTRN DSPWritePort : WORD
  5. EXTRN DSP8AckPort  : WORD
  6. EXTRN DSPLifePort  : WORD
  7. EXTRN SbSplTimeout : WORD
  8. EXTRN SbCmdTimeout : WORD
  9.  
  10.                 CODESEG
  11.  
  12.  
  13.  
  14. MACRO  SBLoop Tout
  15. LOCAL @@tst, @@cnt
  16.  
  17.                 MOV     DX,[DSPWritePort]
  18.                 MOV     BX,Tout
  19. @@tst:
  20.                  DEC    BX
  21.                  JZ     SHORT @@cnt
  22.                  IN     AL,DX
  23.                  TEST   AL,80h
  24.                  JNZ    SHORT @@tst
  25. @@cnt:
  26.  
  27. ENDM  SBLoop
  28.  
  29.  
  30.  
  31.  
  32.  
  33. DevSbStartRut EQU DeviceStartRutRet
  34.  
  35. DevSbRut1:
  36.                 SBLoop  [SbCmdTimeout]
  37.                 MOV     AL,10h
  38.                 OUT     DX,AL
  39.                 JMP     DeviceRut1Ret
  40.  
  41. DevSbRut2:
  42.                 XOR     AH,80h
  43.                 SBLoop  [SbSplTimeout]
  44.                 MOV     AL,AH
  45.                 OUT     DX,AL
  46.                 JMP     DeviceRut2Ret
  47.  
  48. DevSbKickRut:
  49.                 MOV     DX,[DSP8AckPort]
  50.                 IN      AL,DX
  51.                 MOV     DX,[DSPLifePort]
  52.                 IN      AL,DX
  53.                 RET
  54.  
  55. DevSbMonoFillRut EQU GeneralDev8MonoFillRut
  56. ;GeneralDev8MonoFillRut
  57.  
  58. DevSbSterFillRut EQU GeneralDev8SterFillRut
  59.  
  60.  
  61.  
  62.  
  63. PUBLIC DevInitSbNonDMA
  64.  
  65. PROC DevInitSbNonDMA FAR Ster: BYTE, Bits: BYTE
  66.  
  67.                 MOV     AX,OFFSET DevSbMonoFillRut
  68.  
  69.                 JMP     SHORT DevSbGeneralInit
  70.  
  71. ENDP
  72.  
  73.  
  74. PUBLIC DevInitSbDMA
  75.  
  76. PROC DevInitSbDMA FAR Ster: BYTE, Bits: BYTE
  77.  
  78.                 MOV     AL,[Ster]
  79.                 AND     AL,AL
  80.                 JNZ     SHORT @@ster
  81.                  MOV    AX,OFFSET DevSbMonoFillRut
  82.                 JMP     SHORT DevSbGeneralInit
  83. @@ster:          MOV    AX,OFFSET DevSbSterFillRut
  84.                 JMP     SHORT DevSbGeneralInit
  85.  
  86. DevSbGeneralInit:
  87.                 MOV     [DeviceFillRut],AX
  88.  
  89.                 MOV     AX,OFFSET DevSbStartRut
  90.                 MOV     [DeviceStartRut],AX
  91.  
  92.                 MOV     AX,OFFSET DevSbRut1
  93.                 MOV     [DeviceRut1],AX
  94.  
  95.                 MOV     AX,OFFSET DevSbRut2
  96.                 MOV     [DeviceRut2],AX
  97.  
  98.                 MOV     AX,OFFSET DevSbKickRut
  99.                 MOV     [DeviceKickRut],AX
  100.  
  101.                 RET
  102.  
  103. ENDP
  104.    
  105.